#ifndef LINKTEMPLATE_H_
#define LINKTEMPLATE_H_

#include <e32cmn.h>

class CTextBlock;
class IItem
{
public:
	virtual ~IItem()
	{
	
	}
};

class Iterator
{
public:
	virtual TBool HasNext() = 0;
	virtual IItem* GetNext() = 0;
	virtual void ResetIterator() = 0;
};

class LinkTemplate : public Iterator
{
public:
	LinkTemplate();
	virtual ~LinkTemplate();
public:
	TBool HasNext();
	IItem* GetNext();
	void ResetIterator();
public:
	void PushL(IItem* aItem);
	IItem* GetHead();
	IItem* GetRear();
	TInt GetCount();
private:
	TInt iPosition;
	RPointerArray<IItem> iItems;
};

#endif /*LINKTEMPLATE_H_*/
